//
//	GetResumeByUserIdProjectExperienceList.m
//	Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport



#import "GetResumeByUserIdProjectExperienceList.h"

NSString *const kGetResumeByUserIdProjectExperienceListAppUserId = @"appUserId";
NSString *const kGetResumeByUserIdProjectExperienceListDuty = @"duty";
NSString *const kGetResumeByUserIdProjectExperienceListEndTime = @"endTime";
NSString *const kGetResumeByUserIdProjectExperienceListIdField = @"id";
NSString *const kGetResumeByUserIdProjectExperienceListProjectDescribe = @"projectDescribe";
NSString *const kGetResumeByUserIdProjectExperienceListProjectName = @"projectName";
NSString *const kGetResumeByUserIdProjectExperienceListStartTime = @"startTime";

@interface GetResumeByUserIdProjectExperienceList ()
@end
@implementation GetResumeByUserIdProjectExperienceList




/**
 * Instantiate the instance using the passed dictionary values to set the properties values
 */

-(instancetype)initWithDictionary:(NSDictionary *)dictionary
{
	self = [super init];
	if(![dictionary[kGetResumeByUserIdProjectExperienceListAppUserId] isKindOfClass:[NSNull class]]){
		self.appUserId = [dictionary[kGetResumeByUserIdProjectExperienceListAppUserId] integerValue];
	}

	if(![dictionary[kGetResumeByUserIdProjectExperienceListDuty] isKindOfClass:[NSNull class]]){
		self.duty = dictionary[kGetResumeByUserIdProjectExperienceListDuty];
	}	
	if(![dictionary[kGetResumeByUserIdProjectExperienceListEndTime] isKindOfClass:[NSNull class]]){
		self.endTime = dictionary[kGetResumeByUserIdProjectExperienceListEndTime];
	}	
	if(![dictionary[kGetResumeByUserIdProjectExperienceListIdField] isKindOfClass:[NSNull class]]){
		self.idField = [dictionary[kGetResumeByUserIdProjectExperienceListIdField] integerValue];
	}

	if(![dictionary[kGetResumeByUserIdProjectExperienceListProjectDescribe] isKindOfClass:[NSNull class]]){
		self.projectDescribe = dictionary[kGetResumeByUserIdProjectExperienceListProjectDescribe];
	}	
	if(![dictionary[kGetResumeByUserIdProjectExperienceListProjectName] isKindOfClass:[NSNull class]]){
		self.projectName = dictionary[kGetResumeByUserIdProjectExperienceListProjectName];
	}	
	if(![dictionary[kGetResumeByUserIdProjectExperienceListStartTime] isKindOfClass:[NSNull class]]){
		self.startTime = dictionary[kGetResumeByUserIdProjectExperienceListStartTime];
	}	
	return self;
}


/**
 * Returns all the available property values in the form of NSDictionary object where the key is the approperiate json key and the value is the value of the corresponding property
 */
-(NSDictionary *)toDictionary
{
	NSMutableDictionary * dictionary = [NSMutableDictionary dictionary];
	dictionary[kGetResumeByUserIdProjectExperienceListAppUserId] = @(self.appUserId);
	if(self.duty != nil){
		dictionary[kGetResumeByUserIdProjectExperienceListDuty] = self.duty;
	}
	if(self.endTime != nil){
		dictionary[kGetResumeByUserIdProjectExperienceListEndTime] = self.endTime;
	}
	dictionary[kGetResumeByUserIdProjectExperienceListIdField] = @(self.idField);
	if(self.projectDescribe != nil){
		dictionary[kGetResumeByUserIdProjectExperienceListProjectDescribe] = self.projectDescribe;
	}
	if(self.projectName != nil){
		dictionary[kGetResumeByUserIdProjectExperienceListProjectName] = self.projectName;
	}
	if(self.startTime != nil){
		dictionary[kGetResumeByUserIdProjectExperienceListStartTime] = self.startTime;
	}
	return dictionary;

}

/**
 * Implementation of NSCoding encoding method
 */
/**
 * Returns all the available property values in the form of NSDictionary object where the key is the approperiate json key and the value is the value of the corresponding property
 */
- (void)encodeWithCoder:(NSCoder *)aCoder
{
	[aCoder encodeObject:@(self.appUserId) forKey:kGetResumeByUserIdProjectExperienceListAppUserId];	if(self.duty != nil){
		[aCoder encodeObject:self.duty forKey:kGetResumeByUserIdProjectExperienceListDuty];
	}
	if(self.endTime != nil){
		[aCoder encodeObject:self.endTime forKey:kGetResumeByUserIdProjectExperienceListEndTime];
	}
	[aCoder encodeObject:@(self.idField) forKey:kGetResumeByUserIdProjectExperienceListIdField];	if(self.projectDescribe != nil){
		[aCoder encodeObject:self.projectDescribe forKey:kGetResumeByUserIdProjectExperienceListProjectDescribe];
	}
	if(self.projectName != nil){
		[aCoder encodeObject:self.projectName forKey:kGetResumeByUserIdProjectExperienceListProjectName];
	}
	if(self.startTime != nil){
		[aCoder encodeObject:self.startTime forKey:kGetResumeByUserIdProjectExperienceListStartTime];
	}

}

/**
 * Implementation of NSCoding initWithCoder: method
 */
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
	self = [super init];
	self.appUserId = [[aDecoder decodeObjectForKey:kGetResumeByUserIdProjectExperienceListAppUserId] integerValue];
	self.duty = [aDecoder decodeObjectForKey:kGetResumeByUserIdProjectExperienceListDuty];
	self.endTime = [aDecoder decodeObjectForKey:kGetResumeByUserIdProjectExperienceListEndTime];
	self.idField = [[aDecoder decodeObjectForKey:kGetResumeByUserIdProjectExperienceListIdField] integerValue];
	self.projectDescribe = [aDecoder decodeObjectForKey:kGetResumeByUserIdProjectExperienceListProjectDescribe];
	self.projectName = [aDecoder decodeObjectForKey:kGetResumeByUserIdProjectExperienceListProjectName];
	self.startTime = [aDecoder decodeObjectForKey:kGetResumeByUserIdProjectExperienceListStartTime];
	return self;

}

/**
 * Implementation of NSCopying copyWithZone: method
 */
- (instancetype)copyWithZone:(NSZone *)zone
{
	GetResumeByUserIdProjectExperienceList *copy = [GetResumeByUserIdProjectExperienceList new];

	copy.appUserId = self.appUserId;
	copy.duty = [self.duty copyWithZone:zone];
	copy.endTime = [self.endTime copyWithZone:zone];
	copy.idField = self.idField;
	copy.projectDescribe = [self.projectDescribe copyWithZone:zone];
	copy.projectName = [self.projectName copyWithZone:zone];
	copy.startTime = [self.startTime copyWithZone:zone];

	return copy;
}
@end